package com.algaworks.cursojsf2.financeiro.validator;

import java.util.Date;

import javax.faces.application.FacesMessage;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.validator.FacesValidator;
import javax.faces.validator.Validator;
import javax.faces.validator.ValidatorException;

import com.sun.faces.util.MessageFactory;

@FacesValidator("com.algaworks.cursojsf2.financeiro.validator.DataFutura")
public class DataFuturaValidator implements Validator {

	@Override
	public void validate(FacesContext arg0, UIComponent arg1, Object arg2)
			throws ValidatorException {
		Date data = (Date) arg2;

		if (data != null && data.after(new Date())) {
			Object label = MessageFactory.getLabel(arg0, arg1);
			String msg = label + " não pode ser uma data furura";

			FacesMessage message = new FacesMessage(
					FacesMessage.SEVERITY_ERROR, msg, msg);
			throw new ValidatorException(message);

		}

	}

}
